A Philosophy Of Software Design
https://m.media-amazon.com/images/I/51o+gQtCIiL._SX342_SY445_.jpg
優れたプログラマと平凡なプログラマを分けるのは、設計スキルである。
設計の目標は、ソフトウェアの複雑さを軽減することである。 本書の目標
「複雑さ」の本質について
「複雑さ」とはなにか
なぜ「複雑さ」が重要なのか
不必要な「複雑さ」をどのように見分けるか
「複雑さ」を最小限に抑えるテクニック
使い方
抽象的かつ説明用のコードが少ないので、コードレビュー(他人のコードを読むとき)と併用するのがおすすめ
本書で議論されている内容に適合しているか、どう改善できるかを見る
それがコードの「複雑さ」とどう関係しているか
ただし、どんなルールにも例外はある
極限まで追求すると、結果として悪い方向に進んでしまう
設計スキルを向上させるには、レッドフラグを見分ける方法を学ぶこと 本書では主要な設計上の問題に関連するレッドフラグを紹介する
レッドフラグを取り除くため設計案を見つけるまでに、様々な設計案を試す必要もある
試せば試すほど、より多くのものが得られる
セクション
英語 -> radish-miyazaki.icon -> 日本語なので、原文と乖離しているところも…